package com.ruicar.afs.cloud.finance.mq.sender;

import com.ruicar.afs.cloud.common.mq.finance.debit.dto.StartReceiptHandleDto;
import com.ruicar.afs.cloud.common.mq.rabbit.anno.send.AfsRabbitMqClient;
import com.ruicar.afs.cloud.common.mq.rabbit.anno.send.AfsRabbitMqSender;
import com.ruicar.afs.cloud.common.mq.rabbit.message.AfsTransEntity;
import com.ruicar.afs.cloud.finance.mq.fallback.StartReceiptHandleFallBack;

/**
 * <p>Description: </p>
 *
 * @author ZC.GUO
 * @version 1.0
 * @date create on 2020-07-02 14:39
 */
@AfsRabbitMqClient
public interface ReceiptSender {

    /**
     * 账务初始化完成后发起收据处理
     * @author ZC.GUO
     * @param entity 发送数据封装
     * @return
     */
    @AfsRabbitMqSender(serverAlias = "${com.ruicar.afs.cloud.rabbitQueue.serverAlia}"
            ,exchangeName = "${com.ruicar.afs.cloud.rabbitQueue.exchangeName}"
            ,queueName = "${com.ruicar.afs.cloud.rabbitQueue.queueName.contractFinanceToBasic}"
            ,fallBack = StartReceiptHandleFallBack.class)
    void sendReceiptDealOrder(AfsTransEntity<StartReceiptHandleDto> entity );

}
